home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / ai_nurse.scp < prev    next >
Text File  |  1994-11-21  |  7KB  |  306 lines

  1. { NURSEBOT_ENTER_COMBAT
  2.  
  3.     ^ïú              = 0
  4. }
  5.  
  6. { NURSEBOT_AI
  7.  
  8.     P        ~ÇÇ  
  9.     P        ~Çü       
  10.  
  11.     // SO HE ATTACKS THE FIRST TIME, INSTEAD OF SPEAKING -BES
  12.     ~Çü        = 2
  13.  
  14.     :TOP
  15.  
  16.     // MAKE SURE IT'S OK TO MOVE AROUND AND ATTACK
  17.     I ( .ÇéÇâ               != $üì            ) THEN
  18.         {
  19.         â      
  20.         J    #Çé
  21.         }
  22.  
  23.     ~ÇÇ   = @Ç¥   MONSTER_MOVE 10    // 10 CM FLEXIBLE RANGE
  24.  
  25.     I  ( ~ÇÇ   > 0 ) THEN
  26.         {
  27.         N     ( ~ÇÇ   )
  28.             {
  29.             U    2
  30.                 I  @Çô        ("atk_m2") != $Ç╝   THEN
  31.                 M      ATK_M2 CONTINUE
  32.                 X ÇÇ 
  33.             U    4
  34.             U    6
  35.                 ┴            
  36.                 X ÇÇ 
  37.             U    1
  38.             U    7
  39.             I  @Çô        ("atk_m7") != $Ç╝   THEN
  40.                 M      ATK_M7 CONTINUE
  41.                 X ÇÇ 
  42.             U    10
  43.             U    8
  44.             I  @Çô        ("atk_m8") != $Ç╝   THEN
  45.                 M      ATK_M8 CONTINUE
  46.                 X ÇÇ 
  47.             U    3
  48.             U    9
  49.             I  @Çô        ("atk_m9") != $Ç╝   THEN
  50.                 M      ATK_M9 CONTINUE
  51.                 X ÇÇ 
  52.             }
  53.         }
  54.     E       // POSSIBLE ATTACK HERE
  55.         {
  56.         I ( ^ïú              ) THEN
  57.             {
  58.             @Ç¥   NURSEBOT_DEFEND
  59.             ~Çü        = 1
  60.             }
  61.         E   
  62.             {
  63.             N     ( ~Çü        )
  64.                 {
  65.                 U    1
  66.                     //@@@ TRANSLATE F
  67.                     ^ïÜ            = @Ç║       `ü¥                "NB: Subject must stay in bunk.~Recuperation is mandatory. /FLe sujet doit rester allongé.~Repos obligatoire. /GPatient muß liegenbleiben.~Heilung erfordert."
  68.                     ^ïÖ            = @Çÿ            ( `ü¥                )
  69.                     @Ç¥   WAITFORNURSEBOTSPEECH
  70.                     X Çü 
  71.                 U    2
  72.                     M      ATK_SYRINGE
  73.                     ~Çü        = 0
  74.                     X Çü 
  75.                 }
  76.              ~Çü        = ~Çü        + 1
  77.             }
  78.         }
  79.  
  80.     â      
  81.     J    #Çé
  82. }
  83.  
  84. { NURSEBOT_DEFEND
  85.  
  86.     ^ïú              = 0
  87.  
  88.     M      DEFEND CONTINUE
  89.  
  90.     // KILL OFF ANY SPEECH WE MAY BE DOING
  91.                ^ïÜ           
  92.                ^ïÖ          
  93.  
  94.      //@@@ TRANSLATE F
  95.     ^ïÜ            = @Ç║       `äÆ                    "NB: Violence is counter-productive. /FHYPOROBOT= La violence entrave la productivité. /GAnwendung von Gewalt ist nutzlos."
  96.     ^ïÖ            = @Çÿ            ( `äÆ                    )
  97.                 ^ïÜ           
  98.  
  99.     //@@@ TRANSLATE F
  100.     ^ïÜ            = @Ç║       `äÉ                 "NB: This unit is shock resistant./FHYPOROBOT= Cette unité résiste au choc. /GDiese Maschine ist erschütterungsresistent."
  101.     ^ïÖ            = @Çÿ            ( `äÉ                 )
  102.                 ^ïÜ           
  103.  
  104.     :LOOP
  105.     I  @Çô        ("Defend") = $Ç╝   THEN
  106.         {
  107.         â      
  108.         J    #Çä 
  109.         }
  110. }
  111.  
  112. { WAITFORNURSEBOTSPEECH
  113.  
  114.     M      ATK_STAND CONTINUE
  115.  
  116.     :TOP
  117.  
  118.     â      
  119.  
  120.     p           TEN_DEGREES
  121.  
  122.     I  ( ^ïú              > 0 ) THEN
  123.         é     
  124.  
  125.     I ( @Çó            ( ^ïÜ            ) == $Ç╝   ) THEN
  126.         J    #Çå
  127. }
  128.  
  129. { FIRSTBOT_STIMULUS( _DAMAGE )
  130.  
  131.     P        ~Çü   
  132.  
  133. :GOT_HIT
  134.  
  135.     // IF NURSEBOT'S "back" IS TO THE PLAYER, THE BOT IS
  136.     // SUSCEPTABLE TO BOUNCINESS WHEN HIT.
  137.  
  138.     ~Çü     = @ÇÖ            ()
  139.  
  140.     I  ((~Çü    > 150) || (~Çü    < -150)) THEN
  141.         {
  142.         .ÇéÇâ               = $üÅ                
  143.         //MAKEFLATOBJECT(BOOM,SPARKS1,CURFIG)
  144.         @Çå   (`Çí        )
  145.         ₧                    AVDBAR3
  146.         ₧                    AVDBNK3
  147.         @Ç¥   NURSEBOT_DAMAGE
  148.         @Çì      NURSEBOT_BOUNCING
  149.         é     
  150.         }
  151.  
  152.     I ( @Çó            ( ^ïÜ            ) == $Ç╗    ) THEN
  153.         {
  154.                  ^ïÖ          
  155.         //@@@ TRANSLATE F
  156.         ^ïÜ            = @Ç║       `ü₧                    "NB: Subject must comply~with all instructions. /FHYPOROBOT: Le sujet doit se soumettre~à toutes les instructions. /GPatient hat sich~allen Befehlen zu fügen."
  157.         ^ïÖ            = @Çÿ            ( `ü₧                    )
  158.         }
  159.  
  160.     @Çì      SLUR_ENEMY_SPEECH( ^ïÖ           )
  161.  
  162.     ^ïú              = 1
  163.  
  164.     é     
  165.  
  166.  
  167. :HIT_PLAYER_ATK_SYRINGE
  168.  
  169.     ^ïó          ++
  170.  
  171.     // THIS MAKES IT SO THAT THE PLAYER IS STABBED TWICE, KNOCKED OUT ONCE
  172.     // AND THEN STABBED AD INFINITUM. SHOULD EASY THINGS UP ON THE
  173.     // FIRST TIME PLAYER. -KLD
  174.     I ( ^ïó          != 2 ) THEN
  175.         é     
  176.  
  177.     // WHEN PLAYER IS HIT BY THE SYRINGE, KNOCK HIM UNCONCIOUS
  178.  
  179.     @Ç¢              ( PLAYER )
  180.     A  OFF
  181.  
  182.     //@@@ TRANSLATE
  183.     Q       "Your vision begins to blur... /FTa vue commence à se troubler... /GAlles verschwimmt vor deinen Augen..." 
  184.     M      DIE
  185.  
  186.     @Ç¢              ( FIRSTBOT )
  187.  
  188.     r          CURFIG OFF
  189.     Z       CURFIG OFF
  190.     u          CURFIG OFF
  191.     è          ON
  192.     ┬             
  193.     A  OFF
  194.  
  195.     D      5 IMPACT
  196.     ^༠        = 0
  197.     @Çì      REVIVELEX
  198.     @Ç£   HIDE
  199.  
  200.     //      UNCOMMENT IF WE EVER GET THIS ENDGAME ART... -BKA-
  201.     //      IF( _LEX_DRUGGED = 3 ) THEN
  202.     //      {
  203.     //              THIS WILL BE A FLIC, LIKE THE INTRO, WHERE MASTABA
  204.     //      IS LEANING OVER YOU FUCKING WITH YOUR HEAD AGAIN
  205.     //              CAPTION "RUN ENDGAME= MASTABA TRIES AGAIN..."
  206.     //      }
  207.     //      ELSE
  208.     //              {
  209.     //              DAMAGE 5 IMPACT
  210.     //              @PROCESS GOODMORNINGLEX
  211.     //              }
  212.  
  213.     @Ç¢              ( PLAYER )
  214.     A  ON
  215.  
  216.     é     
  217. }
  218.  
  219. // MAKE THE DEFUALT STAND "bouncing" IF IT IS INDEED "bouncing"
  220. { FIRSTBOT_ATK_STAND
  221.  
  222.     I ( .ÇéÇâ               == $üÅ                 ) THEN
  223.         M      BOUNCE CONTINUE
  224.     E   
  225.         M      ATK_STAND CONTINUE
  226. }
  227.  
  228.  
  229. { NURSEBOT_BOUNCING
  230.  
  231.     P        ~ÇÇ   
  232.  
  233.     ^           = 0
  234.  
  235.     A  OFF
  236.  
  237.     r          CURFIG ON
  238.     M      START_BOUNCE
  239.     M      BOUNCE CONTINUE
  240.  
  241.             ( ^ïÖ           )
  242.     ^ïÖ           = 0
  243.  
  244.     I ( ^Ä│               > 0 ) THEN
  245.         i           LEX COMBATCLUE
  246.  
  247.     :LOOP
  248.  
  249.     â      
  250.  
  251.     I ( ^           == 1 ) THEN J    #Çì   
  252.  
  253.     I ( @Çó            ( ^ïÜ            ) == $Ç╗    ) THEN
  254.         {
  255.         ~ÇÇ    = @Çà    ( -6000, -1200 )
  256.         //@@@ TRANSLATE F
  257.         ^ïÜ            = @Ç║       `ü₧                    "NB: Subject must comply~with all instructions. /FLe sujet doit se soumettre~à toutes les instructions. /GPatient hat sich~allen Befehlen zu fügen."
  258.         ^ïÖ            = @Çÿ            ( `ü₧                    )
  259.                  ( ^ïÖ          , ~ÇÇ    )
  260.         }
  261.  
  262.     J    #Çî 
  263.  
  264.     :END_ME
  265.             (^ïÖ          )
  266. }
  267.  
  268.  
  269.   // FOLLOWING ARE LISTED THE POSSIBLE DECALS CAYNAN CAN HAVE APPLIED
  270. // CAY0PIC.FLC = PICTURE     (THIS IS THE FLIC CONTAINING ALL DECALS)
  271. //   (ORIGINAL TXM MUST BE REDRAWN BEFORE DECAL UNLESS NOTED) (RESTORE) (FISTS)
  272. //   _DMG FLAGS: 1 DAMAGE    17 SPEAK/GROWL
  273. //
  274. // TEXTURE      TXM NAME   FRAME #   _DMG FLAG   DECAL
  275. // SIDE         SLEAKNEK   1                     DAMAGE
  276. // SIDE         SLEAKNE    2                     DAMAGE
  277.  
  278. { NURSEBOT_WOUNDS
  279.     P        ~ÇÇ 
  280.  
  281.     ~ÇÇ  = .ÇéÇä          
  282.     I  ( @ÇÅ     ( ~ÇÇ , 1 ) ) THEN
  283.         {
  284.         w     CURFIG DRAWONLY SLEAKNEK PICTURE 1
  285.         //APPLY CURFIG DRAWONLY SLEAKNE PICTURE 2
  286.         }
  287.     E   
  288.         {
  289.         w     CURFIG RESTORE SLEAKNEK
  290.         }
  291. }
  292.  
  293.  
  294.  
  295. { NURSEBOT_DAMAGE
  296.     P        ~ÇÇ 
  297.  
  298.     ~ÇÇ  = .ÇéÇä          
  299.     a      (~ÇÇ , 1)
  300.     .ÇéÇä           = ~ÇÇ 
  301.     @Ç¥   NURSEBOT_WOUNDS
  302.  
  303. }
  304.  
  305. //$ 26 - version number
  306.